package bintree.leetcode;

/**
 * 判断p和q这两颗树是否是相同的树
 * @author yuisama
 * @date 2022/05/12 20:53
 **/
public class Num100_IsSameTree {
    // 传入两颗二叉树的树根p和q就能判断他俩是否是相同的树
    public boolean isSameTree(TreeNode p, TreeNode q) {
        // 1.边界
        if (p == null && q == null) {
            // 都是空树，就认为相同
            return true;
        }
        if (p == null || q == null) {
            // 有一棵树为空，另一棵树不为空
            return false;
        }
        // p和q都不为空，判断一下节点值。子树的判断交给子函数
        return p.val == q.val && isSameTree(p.left,q.left) && isSameTree(p.right,q.right);
    }
}